Skip to content

Conversation

@pedronfigueiredo
Copy link
Contributor

@pedronfigueiredo pedronfigueiredo commented Oct 31, 2025

Description

Introduces a new optional alert property to hide navigation for this alert.

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

hide-navigation-for-alerts.mov

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Adds hideFromAlertNavigation to alerts and updates hooks/modal to skip these in navigation, with tests and usage updates.

  • Alert Model:
    • Add optional hideFromAlertNavigation to Alert.
  • Hooks (useAlerts):
    • Return navigableAlerts, navigableFieldAlerts, navigableGeneralAlerts, and getNavigableFieldAlerts, excluding alerts with hideFromAlertNavigation.
    • Ensure severity sorting is non-mutating.
  • UI – MultipleAlertModal:
    • Drive selection by alertKey with robust syncing/fallback logic.
    • Navigate only through navigable* alerts; hide nav controls if current alert sets hideFromAlertNavigation or when skipping is requested.
    • Acknowledge just triggers onFinalAcknowledgeClick (no cycling).
  • UI – ConfirmInfoAlertRow:
    • Derive selectedAlert once; pass skipAlertNavigation based on hideFromAlertNavigation.
  • Alerts – Shield Coverage:
    • Mark shield coverage alert with hideFromAlertNavigation: true.
  • Tests:
    • Update/extend tests for severity ordering, navigable alert filtering, modal navigation hiding/skipping, and selection behavior.

Written by Cursor Bugbot for commit 22c7214. This will update automatically on new commits. Configure here.

@pedronfigueiredo pedronfigueiredo self-assigned this Oct 31, 2025
@pedronfigueiredo pedronfigueiredo added the team-confirmations Push issues to confirmations team label Oct 31, 2025
@pedronfigueiredo pedronfigueiredo requested a review from a team as a code owner October 31, 2025 12:28
@github-actions
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

@MetaMask/confirmations (1 files, +1 -0)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 hooks/
          • 📁 alerts/
            • 📄 useShieldCoverageAlert.ts +1 -0

@pedronfigueiredo pedronfigueiredo added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Oct 31, 2025
@pedronfigueiredo pedronfigueiredo force-pushed the pnf/alert-nav branch 2 times, most recently from 2803e7e to 32e0c24 Compare October 31, 2025 13:08
@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 32e0c24 | Date: 10/31/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±43ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 717ms (±39ms) 🟢 | historical mean value: 722ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 76ms (±13ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 43ms 1.00s 1.33s 1.04s 1.33s
domContentLoaded 717ms 39ms 692ms 990ms 725ms 990ms
firstPaint 76ms 13ms 60ms 184ms 88ms 184ms
firstContentfulPaint 76ms 13ms 60ms 184ms 88ms 184ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [32e0c24]
UI Startup Metrics (1272 ± 84 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1272111215248413201422
load109195413378011321255
domContentLoaded108495113308011281248
domInteractive211480112044
firstPaint642139133844711121212
backgroundConnect2312172989234246
firstReactRender27165583244
getState226107122443
initialActions50355617
loadScripts8607291108809041022
setupStore1052731116
numNetworkReqs96337630
BrowserifyPower User HomeuiStartup20481628360060925703600
load1041821165532915621655
domContentLoaded1028814163431715311634
domInteractive251360154260
firstPaint886163168549515701685
backgroundConnect280171980225259980
firstReactRender23212712427
getState15710022626172226
initialActions825813758
loadScripts828649136126412001361
setupStore1283371133
numNetworkReqs323166687189539687
WebpackStandard HomeuiStartup8186861587100841918
load607549100077610752
domContentLoaded59954298977604746
domInteractive15116881432
firstPaint20553751197175649
backgroundConnect23136282734
firstReactRender25164173135
getState136173171418
initialActions308247
loadScripts59754097976601741
setupStore942331214
numNetworkReqs106348633
WebpackPower User HomeuiStartup16781217263846123022638
load74161311311779471131
domContentLoaded70460210151418641015
domInteractive18123882338
firstPaint4359510193498681019
backgroundConnect12919479167369479
firstReactRender24213632436
getState14512819117147191
initialActions614712447
loadScripts70060010051388531005
setupStore19677202877
numNetworkReqs339196703180560703
FirefoxBrowserifyStandard HomeuiStartup15681346197411716231783
load1329116316948413701469
domContentLoaded1328116316938413701469
domInteractive1273640555139242
firstPaint------
backgroundConnect5026254275377
firstReactRender27226052732
getState84294813
initialActions419147
loadScripts1299114216628213371446
setupStore144262251317
numNetworkReqs96357731
BrowserifyPower User HomeuiStartup28462312422857431694228
load14461223198221316351982
domContentLoaded14461223198121316351981
domInteractive1749633679249336
firstPaint------
backgroundConnect24437711254567711
firstReactRender53331022069102
getState1399619929151199
initialActions11164151164
loadScripts13811201174516215811745
setupStore4571634269163
numNetworkReqs25214944291330442
WebpackStandard HomeuiStartup16231451211211116901868
load1387123318989614421513
domContentLoaded1387123318989614421513
domInteractive994327936106137
firstPaint------
backgroundConnect4728134205398
firstReactRender322279143276
getState11518523718
initialActions42496413
loadScripts1358120017938914171483
setupStore1385671323
numNetworkReqs96317830
WebpackPower User HomeuiStartup27632392420543528994205
load15901348189615717221896
domContentLoaded15891348189515717211895
domInteractive1768134993265349
firstPaint------
backgroundConnect15738609163143609
firstReactRender41305474654
getState1478223240168232
initialActions1911493613149
loadScripts15361300179113616801791
setupStore24970193070
numNetworkReqs24413940288323402
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: 1.18 KiB (0.02%)
  • common: 10 Bytes (0%)

jpuri
jpuri previously approved these changes Oct 31, 2025
cursor[bot]

This comment was marked as outdated.

@metamaskbot
Copy link
Collaborator

Builds ready [052c549]
UI Startup Metrics (1293 ± 93 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup1293111815329313511436
load110696013369211771261
domContentLoaded110095513279111711254
domInteractive20146391944
firstPaint54988125842810981192
backgroundConnect2302192476233243
firstReactRender2919138133246
getState22887122541
initialActions61425715
loadScripts8777321105919481026
setupStore1152941120
numNetworkReqs96327630
BrowserifyPower User HomeuiStartup22371819385165930193851
load1164935193434216051934
domContentLoaded1155929192733815861927
domInteractive281460154360
firstPaint79614617344719991734
backgroundConnect26121858587271585
firstReactRender26233122831
getState17315121115183211
initialActions825713657
loadScripts914710151029613211510
setupStore1293561335
numNetworkReqs352202734200673734
WebpackStandard HomeuiStartup848727107473871995
load64258189374644830
domContentLoaded63557488473639817
domInteractive15114771433
firstPaint19557887183197600
backgroundConnect22115782436
firstReactRender26176083234
getState1262941419
initialActions3016247
loadScripts63257187371636815
setupStore1042031114
numNetworkReqs96328831
WebpackPower User HomeuiStartup16771274244336618152443
load77062512912248191291
domContentLoaded72961111251727941125
domInteractive211346113246
firstPaint4268211283848321128
backgroundConnect11712460154111460
firstReactRender25233022630
getState1527518122162181
initialActions814012840
loadScripts72560911141697831114
setupStore20663172563
numNetworkReqs310153610149519610
FirefoxBrowserifyStandard HomeuiStartup1416127616718214711557
load1209109113807012571340
domContentLoaded1209109013807012571339
domInteractive1053724640118205
firstPaint------
backgroundConnect392670114962
firstReactRender25215272543
getState74404712
initialActions319145
loadScripts1185107313526812311322
setupStore137199191228
numNetworkReqs96347731
BrowserifyPower User HomeuiStartup27742291396654031683966
load14251182188818215701888
domContentLoaded14241182188818215691888
domInteractive1779836384269363
firstPaint------
backgroundConnect2515012463003761246
firstReactRender472990175990
getState1374320239153202
initialActions15179241379
loadScripts13591150159213615241592
setupStore3671954636195
numNetworkReqs250156545108316545
WebpackStandard HomeuiStartup16031384216412516391834
load1375119816958914221529
domContentLoaded1374119816958914211529
domInteractive1053338157106249
firstPaint------
backgroundConnect4524131165377
firstReactRender312277142971
getState73293813
initialActions518910413
loadScripts1347117916658813911490
setupStore147225221233
numNetworkReqs96327728
WebpackPower User HomeuiStartup29472370421755135284217
load16591363206719617412067
domContentLoaded16581362206719617412067
domInteractive1637034182228341
firstPaint------
backgroundConnect26631941320711941
firstReactRender443276125376
getState1238320730137207
initialActions914913949
loadScripts15981335193216616961932
setupStore35102034639203
numNetworkReqs286139583160477583
📊 Page Load Benchmark Results

Current Commit: 052c549 | Date: 10/31/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±47ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 718ms (±40ms) 🟢 | historical mean value: 724ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±12ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 47ms 1.00s 1.35s 1.06s 1.35s
domContentLoaded 718ms 40ms 696ms 993ms 744ms 993ms
firstPaint 75ms 12ms 60ms 176ms 88ms 176ms
firstContentfulPaint 75ms 12ms 60ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: 1.18 KiB (0.02%)
  • common: 10 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [962e711]
UI Startup Metrics (1294 ± 120 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12941121186912013591486
load1108955169311111691264
domContentLoaded1101942167911111611257
domInteractive221498142153
firstPaint66693168444810971247
backgroundConnect2332182709238247
firstReactRender31195883846
getState23895132648
initialActions71568820
loadScripts87470114281099431029
setupStore1173841218
numNetworkReqs1367520673
BrowserifyPower User HomeuiStartup20161796262726321392627
load1088933153219913491532
domContentLoaded1081926152519913421525
domInteractive301673215573
firstPaint51015713593879621359
backgroundConnect24221726513249265
firstReactRender27253322833
getState18716123022209230
initialActions53102610
loadScripts853711128319211061283
setupStore1091211112
numNetworkReqs199100357100309357
WebpackStandard HomeuiStartup86473712291008681176
load64458799087644939
domContentLoaded63658297784639922
domInteractive16115881435
firstPaint18758960182189607
backgroundConnect261182152770
firstReactRender29186293445
getState1272741419
initialActions41374410
loadScripts63358096682636911
setupStore1052341219
numNetworkReqs1367519872
WebpackPower User HomeuiStartup14011194198426516861984
load70561510001177931000
domContentLoaded687604956107758956
domInteractive221251144151
firstPaint27593680185307680
backgroundConnect761926980169269
firstReactRender27253422834
getState14610518422158184
initialActions514611346
loadScripts682602945104746945
setupStore15669152369
numNetworkReqs1679429374274293
FirefoxBrowserifyStandard HomeuiStartup14341218178511415111646
load1219105514049013011375
domContentLoaded1218105514039013011375
domInteractive1173335857122233
firstPaint------
backgroundConnect44241572349109
firstReactRender25215762545
getState74213713
initialActions517911313
loadScripts1191103713748512791340
setupStore1153261130
numNetworkReqs1266416760
BrowserifyPower User HomeuiStartup23141978289225924912892
load12951118168417114691684
domContentLoaded12941118168417114691684
domInteractive17584512139265512
firstPaint------
backgroundConnect12730466119168466
firstReactRender412785154485
getState1217216327154163
initialActions711961419
loadScripts12541088162216314371622
setupStore4682906866290
numNetworkReqs1696828368240283
WebpackStandard HomeuiStartup15861407224517015902118
load13421169163810013781577
domContentLoaded13411168163810013781577
domInteractive993021732112173
firstPaint------
backgroundConnect49253213652121
firstReactRender332278153275
getState11418424731
initialActions51588325
loadScripts1312115115558813481503
setupStore167209271170
numNetworkReqs1367018768
WebpackPower User HomeuiStartup25352130318232027553182
load14971223194123217551941
domContentLoaded14961222194123217551941
domInteractive18879543171395543
firstPaint------
backgroundConnect853224669102246
firstReactRender47331011651101
getState1409620438201204
initialActions1023291732
loadScripts14651203190022316901900
setupStore5272987285298
numNetworkReqs1546032375217323
📊 Page Load Benchmark Results

Current Commit: 962e711 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.03s (±51ms) 🟡 | historical mean value: 1.04s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 722ms (±49ms) 🟢 | historical mean value: 729ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±10ms) 🟢 | historical mean value: 77ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.03s 51ms 1.01s 1.31s 1.05s 1.31s
domContentLoaded 722ms 49ms 699ms 991ms 742ms 991ms
firstPaint 75ms 10ms 60ms 152ms 84ms 152ms
firstContentfulPaint 75ms 10ms 60ms 152ms 84ms 152ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: 1.35 KiB (0.02%)
  • common: 10 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [22c7214]
UI Startup Metrics (1290 ± 123 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12901103201112313501498
load1103958172410811681260
domContentLoaded1097953171310711611253
domInteractive2414342342059
firstPaint58478127341510491170
backgroundConnect2322192565236242
firstReactRender30195383646
getState249106142649
initialActions718511823
loadScripts87073114681069301028
setupStore1263851224
numNetworkReqs1367420673
BrowserifyPower User HomeuiStartup20321789291935624322919
load1083916173623113301736
domContentLoaded1074909171322913251713
domInteractive261575184175
firstPaint7669517504639891750
backgroundConnect23921827616250276
firstReactRender33241302530130
getState17516020612184206
initialActions52143614
loadScripts852698147922511091479
setupStore1292751127
numNetworkReqs17810433593301335
WebpackStandard HomeuiStartup87873714041128841206
load6645931188108658966
domContentLoaded6555861174105651942
domInteractive1712221221436
firstPaint217571178241204851
backgroundConnect261289152767
firstReactRender281791113338
getState1262741418
initialActions40203411
loadScripts6525841164103649932
setupStore1051931216
numNetworkReqs1367819871
WebpackPower User HomeuiStartup13481198184420315161844
load70060910101367651010
domContentLoaded672597899109731899
domInteractive231363174863
firstPaint412150908234617908
backgroundConnect721830386119303
firstReactRender26253112631
getState14811116518163165
initialActions41114811
loadScripts667594888105719888
setupStore1263071330
numNetworkReqs1439627158196271
FirefoxBrowserifyStandard HomeuiStartup15131269210714015781769
load1282109615839313431449
domContentLoaded1282109515839313431448
domInteractive1183433446128223
firstPaint------
backgroundConnect51271743055121
firstReactRender26224852637
getState84325820
initialActions41254414
loadScripts1250107815158713141405
setupStore158209211340
numNetworkReqs1367018767
BrowserifyPower User HomeuiStartup25622243335840730533358
load14031223192021215701920
domContentLoaded14031223192021215701920
domInteractive21869504160429504
firstPaint------
backgroundConnect1043432286170322
firstReactRender493198205598
getState14010625036152250
initialActions1511042715104
loadScripts13641198182319515231823
setupStore4371614667161
numNetworkReqs1396932794222327
WebpackStandard HomeuiStartup15941421209714615971962
load13641196171210914001613
domContentLoaded13631195171210914001613
domInteractive1083145858122236
firstPaint------
backgroundConnect47251242253107
firstReactRender302274113070
getState104136171018
initialActions5112813418
loadScripts13351179169010013781573
setupStore15785131345
numNetworkReqs1367118869
WebpackPower User HomeuiStartup25372205362036627203620
load14961248198220316171982
domContentLoaded14951248198220316171982
domInteractive16038525146236525
firstPaint------
backgroundConnect77322285590228
firstReactRender43305695256
getState1519924841182248
initialActions12284201084
loadScripts14601227184218615961842
setupStore29101012745101
numNetworkReqs1346029875217298
📊 Page Load Benchmark Results

Current Commit: 22c7214 | Date: 11/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.07s (±38ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 745ms (±36ms) 🟢 | historical mean value: 729ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 80ms (±11ms) 🟢 | historical mean value: 77ms ⬆️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.07s 38ms 1.04s 1.34s 1.10s 1.34s
domContentLoaded 745ms 36ms 718ms 1.00s 770ms 1.00s
firstPaint 80ms 11ms 60ms 176ms 88ms 176ms
firstContentfulPaint 80ms 11ms 60ms 176ms 88ms 176ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 68 Bytes (0%)
  • ui: 1.37 KiB (0.02%)
  • common: 10 Bytes (0%)

@pedronfigueiredo pedronfigueiredo added this pull request to the merge queue Nov 3, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 3, 2025
@pedronfigueiredo pedronfigueiredo added this pull request to the merge queue Nov 3, 2025
Merged via the queue into main with commit 3c82407 Nov 3, 2025
327 of 329 checks passed
@pedronfigueiredo pedronfigueiredo deleted the pnf/alert-nav branch November 3, 2025 19:22
@github-actions github-actions bot locked and limited conversation to collaborators Nov 3, 2025
@metamaskbot metamaskbot added the release-13.9.0 Issue or pull request that will be included in release 13.9.0 label Nov 3, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.9.0 Issue or pull request that will be included in release 13.9.0 size-M team-confirmations Push issues to confirmations team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants